/* 
 * File:   zxLib.h
 * Author: Administrator
 *
 * Created on 2013?8?13?, ??9:24
 */

#ifndef ZXLIB_H
#define	ZXLIB_H

#ifdef	__cplusplus
extern "C" {
#endif

#ifdef	__cplusplus
}
#endif


#define laserFreq 1
#define durationPerLaserStim 1000
#define lowThres 75
#define HighThres 80

#define laserInDelay 1
#define laserDuringOdor 2


extern float odorLength;
void setOdorLength(float in);



void shuffleArray(unsigned int orgArray[], unsigned int arraySize);

void odorDepeltion(int totalTrial);

void zxDNMSSessions(int DNMS, float thisdelay, int interti, int trialNumperSess, float waterlen, float delay2, int missstop, int totalSession);
void zxDNMSLaserSessions(int type, float thisdelay, int interti, int trialNumperSess, float WaterLen, int missstop, int sessstop, float delay_before_reward, float delayBeforeLaser, float laserDuration);
void zxDNMS(int DNMS, int FirstOdorIn, float odorLength, float OdorDelayIn, int SecondOdorIn, float WaterLIn, int IntervalIn, float delay_before_reward);
void zxDNMSLaserTrial(int type, int FirstOdorIn, float odorLength, float OdorDelayIn, int SecondOdorIn, float WaterLIn, int IntervalIn, int prolong, float delay_before_reward, float delayBeforeLaser, float laserDuration, int temptrial);
void zxLaser(int FreqStim, int DuraStim, float totalStimTime);
void setAutoStop(int autoStop_In);
void setAutoSwitch(int autoSwitch_in);
void callFunction(int n);



void zxGo_nogo(int odorType, int autoSwitch, int trialn, int delay, float waterlen,
        int ITI, int odorlaseryes, int delaylaseryes);

void zxGoNogoTrial(int go_odor, int isGo, int laserOn, float odorlen, int delay, float waterlen,
        int ITI, int odorlaseryes, int delaylaseryes);
void waitReportLick(int time);

//void zxNogo(int go_odor, int nogo_odor, float odorlen, int delay, float waterlen,
//        int ITI, int odorlaseryes, int delaylaseryes, int waterlaseryes, int ITI1, int ITI2);


void feedWater(int n);
void splash(char * s1, char * s2);

#endif	/* ZXLIB_H */
